package net.ericaro.neojavagen.classes;

/**
 * <b>ThisExplicitConstructorInvocation</b> ::= <{@link net .ericaro .neojavagen .classes .NonWildTypeArguments NonWildTypeArguments}>? "this" "(" <
 * {@link net .ericaro .neojavagen .expressions .Arguments Arguments}>? ")" ";"
 * 
 * @author eric@ericaro.net
 */
public class ThisExplicitConstructorInvocation extends net.ericaro.neojavagen.JavaPartComposition implements net.ericaro.neojavagen.classes.ExplicitConstructorInvocation {
	private net.ericaro.neojavagen.expressions.Arguments arguments;

	private net.ericaro.neojavagen.classes.NonWildTypeArguments nonWildTypeArguments;

	public ThisExplicitConstructorInvocation() {
		this.nonWildTypeArguments = null;
		this.arguments = null;
	}

	public ThisExplicitConstructorInvocation(net.ericaro.neojavagen.classes.NonWildTypeArguments nonWildTypeArguments, net.ericaro.neojavagen.expressions.Arguments arguments) {
		super();
		this.nonWildTypeArguments = nonWildTypeArguments;
		this.arguments = arguments;
	}

	public net.ericaro.neojavagen.expressions.Arguments getArguments() {
		return arguments;
	}

	public net.ericaro.neojavagen.classes.NonWildTypeArguments getNonWildTypeArguments() {
		return nonWildTypeArguments;
	}

	public void setArguments(net.ericaro.neojavagen.expressions.Arguments arguments) {
		this.arguments = arguments;
	}

	public void setNonWildTypeArguments(net.ericaro.neojavagen.classes.NonWildTypeArguments nonWildTypeArguments) {
		this.nonWildTypeArguments = nonWildTypeArguments;
	}

	@Override
	public java.lang.String toString() {
		return print(nonWildTypeArguments, "this", "(", arguments, ")", ";");
	}
}
